PyonR: A Python Implementation for Racket

نویسندگان

  • Pedro Alexandre Henriques
  • Palma Ramos
چکیده

The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers, due to its readable syntax and extensive libraries. On the other hand, the Racket language and its DrRacket IDE have a tradition for being used to introduce Computer Science concepts to students. Besides, the Racket platform can be extended to support other programming languages. Both communities would benefit from an implementation of Python for Racket, since Racket programmers would be able to use libraries produced by the huge Python community and Python programmers would be able to access Racket’s libraries and pedagogical tools, such as DrRacket. This thesis proposes PyonR, an implementation of the Python language for the Racket platform. PyonR consists of a sourceto-source compiler from Python to Racket and a runtime environment developed in Racket, which implements Python’s language constructs and built-in functionality and enforces interoperability with Racket’s data-types. With this approach, we were able to implement Python’s semantics with a very reasonable performance (on the same order of magnitude as other state-of-the-art implementations), full access to Python’s libraries, a native interoperability between Racket and Python, and a good integration with DrRacket’s features for Python development.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Implementation of Python for Racket

Racket is a descendent of Scheme that is widely used as a first language for teaching computer science. To this end, Racket provides DrRacket, a simple but pedagogic IDE. On the other hand, Python is becoming increasingly popular in a variety of areas, most notably among novice programmers. This paper presents an implementation of Python for Racket which allows programmers to use DrRacket with ...

متن کامل

Implementing Python for DrRacket

The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers. On the other hand, Racket and other Scheme dialects are considered excellent vehicles for introducing Computer Science concepts. This paper presents an implementation of Python for Racket and the DrRacket IDE. This allows Python programmers to use Racket libraries and v...

متن کامل

An Implementation of Python for DrRacket

The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers. This paper presents an implementation of Python for DrRacket which allows Python programmers to use DrRacket’s features with Python code, as well as adding Python support for DrRacket based tools, such as Rosetta. The suggested approach involves compiling Python code in...

متن کامل

P2R: Implementation of Processing in Racket

Processing is a programming language and development environment created to teach programming in a visual context. In spite of its enormous success, Processing remains a niche language with limited applicability outside the visual realm. Moreover, architects that have learnt Processing are unable to use the language with traditional Computer-Aided Design (CAD) and Building Information Modelling...

متن کامل

Meta-tracing makes a fast Racket

Tracing just-in-time (JIT) compilers record and optimize the instruction sequences they observe at runtime. With some modifications, a tracing JIT can perform well even when the executed program is itself an interpreter, an approach called meta-tracing. The advantage of meta-tracing is that it separates the concern of JIT compilation from language implementation, enabling the same JIT compiler ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014